import {defineStore} from "pinia"

//定义一个模板化的小仓库
//defineStore方法接受两个参数，第一个参数是模块名称，第二个参数是仓库的配置
//defineStore返回的是一个函数，当函数调用的时候，能够拿到内部的内容

const useCountState = defineStore("count",{
    state:()=>{
        return {
            num :0,
        }
    },
    actions:{
        //actions中的方法是用来修改数据的，接收的参数是调用这个方法传递的参数
        increment(){
            //actions方法内使用this拿到state数据进行修改
            this.num++
        },
        incrementN(n:number){
            this.num+=n
        }
    },
    getters:{
        //在getters中需要限制返回值类型
        doubleNum():number{
            return this.num*2
        }
    }
})

export default useCountState